package com.whmall.service.crm.module.company.service;

import com.whmall.component.entity.dto.OperatorReqDTO;
import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.company.CompanyEventCreateReqDTO;
import com.whmall.service.crm.entity.dto.company.CompanyEventQueryReqDTO;
import com.whmall.service.crm.entity.dto.company.CompanyEventRspDTO;
import com.whmall.service.crm.entity.dto.company.CompanyEventUpdateReqDTO;
import com.whmall.service.crm.module.company.entity.CompanyEventDO;
import com.whmall.component.service.DbService;

import java.util.List;

public interface CompanyEventService extends DbService<CompanyEventDO>{

    /**
     * 分页查询
     * @param companyEventQueryReqDTO
     * @return
     */
    PageRspDTO<CompanyEventRspDTO> page(PageReqDTO pageReqDTO, CompanyEventQueryReqDTO companyEventQueryReqDTO);

    /**
     * 保存重大事件
     * @param reqDTO
     * @param operatorReqDTO
     */
    void save(CompanyEventCreateReqDTO reqDTO, OperatorReqDTO operatorReqDTO);

    /**
     * 编辑重大事件
     * @param reqDTO
     * @param operatorReqDTO
     */
    void update(CompanyEventUpdateReqDTO reqDTO, OperatorReqDTO operatorReqDTO);

    /**
     * 逻辑删除事件
     * @param id
     * @param operatorReqDTO
     */
    void removeById(Long id, OperatorReqDTO operatorReqDTO);

}